import numpy as np
import matplotlib.pyplot as plt


def draw_point(x, y, z):
    # 创建一个新的图形
    fig = plt.figure()
    # 添加一个3D子图
    ax = fig.add_subplot(111, projection='3d')
    # 为每个点生成一个颜色（这里使用RGB颜色）
    colors = np.random.rand(len(x), 3)  # 生成50个RGB颜色值，每个颜色值是一个长度为3的数组
    # 绘制3D散点图，并为每个点指定颜色
    sc = ax.scatter(x, y, z, c=colors)
    # 添加颜色条
    cbar = fig.colorbar(sc)
    cbar.set_label('颜色条')
    # 为每个点添加序号标签
    for i, txt in enumerate(x):
        ax.text(x[i], y[i], z[i], f'{i}', color='black', fontweight='bold', ha='center', va='center')

    # 设置标题和轴标签
    ax.set_title('带有不同颜色和文字序号的3D散点图示例')
    ax.set_xlabel('X轴')
    ax.set_ylabel('Y轴')
    ax.set_zlabel('Z轴')
    # 自动调整视角以便更好地查看图形
    ax.view_init(elev=10., azim=20)
    # 显示图形
    plt.show()
